Skip to content

Add support for aarch64 - #240

Open
Alex Mihaiuc (foxmsft) wants to merge 2 commits into
microsoft:mainfrom
foxmsft:foxmsft/aarch64-enablement
Open

Add support for aarch64#240
Alex Mihaiuc (foxmsft) wants to merge 2 commits into
microsoft:mainfrom
foxmsft:foxmsft/aarch64-enablement

Conversation

@foxmsft

Copy link
Copy Markdown
Collaborator

This enables the aarch64 platform for ARM64 processors.

@foxmsft

Copy link
Copy Markdown
Collaborator Author

I did not test the non-BTF part, a BTF-only kernel is probably common enough.

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds aarch64 build, syscall, and packaging support.

Changes:

  • Adds architecture-aware CMake and cross-compilation configuration.
  • Handles syscalls unavailable on aarch64.
  • Produces architecture-specific DEB/RPM packages and documentation.

Reviewed changes

Copilot reviewed 15 out of 15 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
sysmonforlinux.c Guards architecture-specific syscalls.
package/DEBIAN.in/control.in Adds dynamic package architecture.
makePackages.sh Supports DEB/RPM architecture arguments.
linuxVersion.h.in Updates copyright year.
linuxTypes.h Avoids CO-RE type conflicts.
ebpfKern/sysmonProcCreate.c Removes conflicting header.
ebpfKern/sysmonFileOpen.c Handles missing open syscall.
ebpfKern/sysmonFileOpen_rawtp.c Restricts available open syscalls.
ebpfKern/sysmonFileDelete_rawtp.c Guards missing unlink.
ebpfKern/sysmonFileCreate_rawtp.c Guards missing creat.
ebpfKern/sysmonEBPF_common.h Uses architecture-neutral syscall header.
CMakeLists.txt Adds architecture-aware builds and dependencies.
cmake/aarch64-linux-gnu.cmake Defines the aarch64 toolchain.
BUILD.md Documents aarch64 cross-building.
.container/install-ubuntu-dependencies.sh Removes x86-only dependency.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread CMakeLists.txt
BUILD_COMMAND cd ../openssl && make && rm -rf ${PROJECT_BINARY_DIR}/openssl/src/openssl/cloudflare-quiche && rm -rf ${PROJECT_BINARY_DIR}/openssl/src/openssl/pyca-cryptography
BUILD_IN_SOURCE TRUE
CONFIGURE_COMMAND ${OPENSSL_CONFIGURE_COMMAND}
BUILD_COMMAND "${CMAKE_MAKE_PROGRAM}"
Comment thread BUILD.md
Comment on lines +83 to +85
First cross-build and stage SysinternalsEBPF as described in its `BUILD.md`.
The commands below assume its staged installation is in
`../SysinternalsEBPF/build-arm64/staging`.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants